package com.jxtc.enterprise.tenant.dto;

import com.alibaba.fastjson.JSONArray;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

@Data
public class TenantStoreRepositoryDTO {
    private String id;

    private String storeName;

    private String storeDescription;

    /**
     * 门店logo 不是 店铺内照片，因此只有一个；后期如果需要上传门店的店铺内图片，可以单独添加一个 list 类型的 字段
     */
    private String logo;

    /**
     * 店铺的门店资质图片，比如 营业许可证，卫生许可证等; 当前只能传一个图片；后期可以将此字段扩展为 List<String> 允许传递多个资质
     */
    private String qualification;

    private Float storePrice;

    /**
     * 店主名称
     */
    private String merchantName;

    /**
     * 店主身份证号
     */
    @Length(min=15, max=20, message = "身份证号默认是18个字符，此处有效长度为[15, 20]")
    private String merchantIdNum;

    /**
     * 店主手机号
     */
    @Length(min=11, max=11, message = "手机号只能是11位")
    private String merchantPhone;

    /**
     * 店主登录密码
     */
    private String merchantLoginPasswd;

    /**
     * 店主微信号
     */
    private String merchantWechatNum;

    /**
     * 店铺地址
     */
    private String storeAddress;

    /**
     * 经度
     */
    private Double longitude;

    /**
     * 纬度
     */
    private Double latitude;

    private String categoryId;

    private String categoryName;

    /**
     * 店铺开始营业时间
     */
    private String businessStart;

    /**
     * 店铺截止营业时间
     */
    private String businessEnd;

    private JSONArray foodType;

    private Integer limitCount;

    /**
     * 店铺中所使用的飞鹅打印机的 序列号；如果使用的是其他打印机，则默认为空字符串
     */
    private String printerSn;

    /**
     * 0 非小碗菜的菜品，打印时不需要合并，1小碗菜，打印时需要合并
     */
    private Integer mergeFoodItems;

    /**
     * 打印机类型，传递的是类型名称字符串，不是类型编码
     *
     */
    private String printerType;

    /**
     * 前端接口调用时，传递的店铺合作价单位为元，格式是小数，比如 16.8元，而db中保存的是整数格式的数据，单位为 分
     * 此方法将元转换成分
     * @return
     */
    public Integer getStorePriceInFen() {
        return Float.valueOf(storePrice * 100).intValue();
    }

}
